﻿#ifndef DIAMETEROFBINARYTREE_H_
#define DIAMETEROFBINARYTREE_H_

namespace algorithm {
    /**
     * @brief 给你一棵二叉树的根节点，返回该树的 直径 。
     *二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
     * https://leetcode.cn/problems/diameter-of-binary-tree/description/
     */
    class CDiameterOfBinaryTree
    {
    public:
        static int GetDiameter(TreeNode* root);

    private:
        static int GetTreeNodeHeight(TreeNode* root, int &maxDiameter);
    };
}

#endif //!DIAMETEROFBINARYTREE_H_
